A number of scientific methods involve collecting sample data in a 3-dimensionally organized form. For example, seismic exploration data, collected in efforts to identify natural gas, oil, water and other underground resources, involves data in the x and y horizontal planes as well as z plane data typically associated with time. To collect the raw data, a seismic survey is conduced that involves seismic waves (essentially sound waves) that are created on the earth's surface. The waves may be initiated in any number of ways including through the use of dynamite or seismic vibrators. As the waves propagate downward, portions of the waves reflect back to the surface when the waves interact with an underground object, layers, or any number of other possible underground features. The reflected wave data is collected over a wide geographic area. The raw collected data is stored and converted, such as through a process sometimes referred to as stacking, into a form, such as a seismic stack, that can show various underground objects and features in a human readable way through various types of software and user interfaces. Geologists, geophysicists, and others, using the processed data and tools can then interpret the data and to identify those features associated with the presence of natural gas, shale, oil, water, and other things.
In the case of a seismic stack, a person will often view various slices or cross-sections of the processed stack data taken along the x-axis (inline), the y-axis (crossline), the z-axis (slice or time direction) or some combination thereof. Since the stack represents a 3-D image of a large underground cube, by viewing various slices through the data, a person can see feature changes, identify underground shapes and contours, and numerous other characteristics of the data. These data sets can be massive, on the order of 10 s or more gigabytes of data in some instances. Visualizing and working with the data requires large amounts of fast data storage and fast processors.
Accordingly and conventionally, work station class computers are often used and the sequence of data that is desired to be viewed is read from disc into local memory of the workstation. The data is stored on disc in a logical way, typically stored in order based on the x-axis which makes reading data along the x-axis from disc into local memory quick and efficient as a read head within the disc simply moves from block to block in the way it was stored on disc, which may only take a fraction of a second. However, when the user wants to view slices along the y-axis, z-axis or some other more sophisticated combination of axes, a read head of the disc must seek to different blocks and sectors of the disc making the operation much more time consuming. While disc seeks in modern systems are very fast, because of the magnitude of data that may need to be read and the number of possible seeks required, the task can still be time consuming—e.g., 5 seconds or more.
To solve some of these concerns, improvements have involved simply moving all of the stack data into local memory of the workstation, organizing the data into bricks or discrete chunks of data and reading only the relevant bricks into memory, different schemes of organizing data on disc for more efficient retrieval, and others. Regardless of any conventional solutions, the state of the art presents numerous challenges. First, the data stack is proprietary and very valuable so it must be handled with care and duplicated with appropriate care. Second, while working with the data stored locally is possible, it does not facilitate collaboration on the data when the collaborators are not in the same facility. Moreover, moving the data among locations is difficult given its size and the proprietary nature of the data.
It is with these issues in mind, among others, that various aspects of the present disclosure were developed.